package com.itheima.test03;

/**
 * 一种排序的方式，对要进行排序的数据中相邻的数据进行两两比较，将较大的数据放在后面，依次对所有的数据进行操作，直至所有数据按要求完成排序
 *
 * 如果有n个数据进行排序，总共需要比较n-1次
 *
 * 每一次比较完毕，下一次的比较就会少一个数据参与
 *
 *
 */
public class Test03 {

    public static void main(String[] args) {
        int[]  arr={88,55,44,66,77,99};
        //外层管次数 0-  n-1
        // 内层管判断 n-1 -0
        for (int i = 0; i < arr.length-1; i++) {
            // 0 1 2 3 4
            for (int j = 0; j < arr.length-1-i; j++) {//n-1-0
                //arr[i] arr[i+1]  temp
                if(arr[j]>arr[j+1]){
                    int temp=arr[j+1];
                    arr[j+1]=arr[j];
                    arr[j]=temp;
                }
            }
        }

        // 第一轮比较  比较n-1次


        // 第2轮比较  比较n-2次
       /* for (int i = 0; i < arr.length-1-1; i++) {//n-1-1
            //arr[i] arr[i+1]  temp
            if(arr[i]>arr[i+1]){
                int temp=arr[i+1];
                arr[i+1]=arr[i];
                arr[i]=temp;
            }
        }

        // 第3轮比较  比较n-3次
        for (int i = 0; i < arr.length-1-2; i++) {//n-1-2
            //arr[i] arr[i+1]  temp
            if(arr[i]>arr[i+1]){
                int temp=arr[i+1];
                arr[i+1]=arr[i];
                arr[i]=temp;
            }
        }

        // 第4轮比较  比较n-4次
        for (int i = 0; i < arr.length-1-3; i++) {//n-1-3
            //arr[i] arr[i+1]  temp
            if(arr[i]>arr[i+1]){
                int temp=arr[i+1];
                arr[i+1]=arr[i];
                arr[i]=temp;
            }
        }

        // 第5轮比较  比较n-5次
        for (int i = 0; i < arr.length-1-4; i++) {//n-1-4
            //arr[i] arr[i+1]  temp
            if(arr[i]>arr[i+1]){
                int temp=arr[i+1];
                arr[i+1]=arr[i];
                arr[i]=temp;
            }
        }*/
        //外层管次数 0-  n-1
        // 内层管判断 n-1 -0
        for (int i = 0; i <arr.length-1 ; i++) {
            for (int j = 0; j <arr.length-1-i; j++) {
                //arr[i] arr[i+1]  temp
                if(arr[i]>arr[i+1]){
                    int temp=arr[i+1];
                    arr[i+1]=arr[i];
                    arr[i]=temp;
                }
            }
        }
        printArray(arr);
    }

    private static void printArray(int[] arr) {
        for (int i = 0; i < arr.length; i++) {
            System.out.print(arr[i]+" ");
        }
    }
}
